{
  /*
    学习目标：引用类型-函数类型
    作用：
      为参数指定类型
      为返回值指定类型

      总结
      语法：
        1. function add (形参: 类型， 形参2：类型) :类型 {}
        2. type 类型名称 = (形参: 类型， 形参2：类型) => :类型 
  */

  // 1. 分开指定
  function add(a: number, b: number): number {
    return a + b;
  }

  //  能约束参数与返回值类型，违反则报错
  // add('123', '456')
  // add(1, 2).startWiths()

  // 2. 同时指定
  type AddFn = (a: number, b: number) => number;
  const add2: (a: number, b: number) => number = (a, b) => {
    return a + b;
  };

  // 💥注意：同时指定的写法，只能写在表达式身上
  // add2('123','456')
  // add2(123, 456).startWiths()

  // 💥 内联类型👎
  const add3: (a: number, b: number) => number = (num1, num2) => {
    return num1 + num2;
  };
}
